﻿#pragma once
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#include <math.h>
#include <stdbool.h>

typedef int dataType;

typedef struct Tree
{
	dataType* arr;
	int sz;
	int len;
}Tree;


//初始化
Tree* chushihua();

//销毁
void xiaohui(Tree* t);

//插入元素
void push(Tree* t, dataType x);

//删除元素
void pop(Tree* t);

//获得根节点元素
dataType top(Tree* t);

//判断是否为空堆
bool isEmpty(Tree* t);

//堆排序
void sort(int* arr, int sz);